package com.scs.application.modules.dept.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 *
 * </p>
 */
@Data
@Accessors(chain = true)
@TableName("dept_return_item")
@EntityClassAnnotation(remark = "科室退货单明细")
public class DeptReturnItem extends DataEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "=dept_return.id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String deptReturnId;

    @EntityFieldAnnotation(
            text = "StockId",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "0",
            comment = ""
    )
    private String stockId;

    @EntityFieldAnnotation(
            text = "原始入库单明细ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String lineId;

    @EntityFieldAnnotation(
            text = "供应商ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String supplierId;

    @EntityFieldAnnotation(
            text = "供应商名称",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String supplierName;

    @EntityFieldAnnotation(
            text = "物料ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrId;

    @EntityFieldAnnotation(
            text = "物料名称",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrName;

    @EntityFieldAnnotation(
            text = "物料品规",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrSpec;

    @EntityFieldAnnotation(
            text = "包装单位",
            length = "10",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String packageUnit;

    @EntityFieldAnnotation(
            text = "包装数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double packageQty;

    @EntityFieldAnnotation(
            text = "单品价格",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double skuPrice;

    @EntityFieldAnnotation(
            text = "单品数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double skuQty;

    @EntityFieldAnnotation(
            text = "金额",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double amount;

    @EntityFieldAnnotation(
            text = "批次",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String lot;

    @EntityFieldAnnotation(
            text = "效期",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Date expDate;

    @EntityFieldAnnotation(
            text = "生产日期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date mfgDate;

    @EntityFieldAnnotation(
            text = "",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String sn;

    @EntityFieldAnnotation(
            text = "",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String rfid;

    @EntityFieldAnnotation(
            text = "",
            length = "50",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String udi;

    @EntityFieldAnnotation(
            text = "是否寄售",
            length = "10",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Boolean flagConsignment;

    @EntityFieldAnnotation(
    text = "是否一物一码",
    length = "10",
    not_null = true,
    default_value = "",
    comment = ""
            )
    private Boolean flagOmoc;

    @EntityFieldAnnotation(
            text = "注册证号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String certificateNo;

    @EntityFieldAnnotation(
            text = "厂商",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String mfgName;

    @EntityFieldAnnotation(
            text = "备注",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

    @EntityFieldAnnotation(
            text = "单品单位",
            length = "10",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String skuUnit;

    @EntityFieldAnnotation(
            text = "最后修改日期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date mdate;

    @EntityFieldAnnotation(
            text = "是否唯一码管理",
            length = "",
            not_null = false,
            default_value = "0",
            comment = ""
    )
    private Boolean flagUniqueCode;

    /**
    * @Description：是否期初  supplier_name = '期初供应商' 为期初
    */
    @TableField(exist = false)
    private int flagInit;

    @TableField(exist = false)
    private String hrpCode;

    @EntityFieldAnnotation(
            text = "耗材型号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = "耗材型号"
    )
    private String matrModel;

}
